package org.ilc.push;

import org.ilc.push.exception.PushException;

/**
 * 会话拦截器
 * @author xumin
 *
 */
public interface ISessionInterceptor {

    /**
     * 客户端连接服务器建立会话触发
     * @param request
     */
    public void sessionCreate(IRequest request)throws PushException;
    /**
     * 客户端 数据请求触发
     * @param request
     * @param body
     */
    public void messageReceived(IRequest request, IResponse response)throws PushException;

    /**
     * 客户端关闭 或者网络原因 断开连接触发
     * @param session
     */
    public void sessionClose(ISession session);

}
